package com.mars.tukuan.rpc.api;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.mars.base.common.utils.Paginator;
import com.mars.base.service.support.IService;
import com.mars.tukuan.dto.CarStateVo;
import com.mars.tukuan.dto.ReportCarInjureMonthTotalDto;
import com.mars.tukuan.dto.ReportUserMonthCheckDto;
import com.mars.tukuan.dto.ReportUserMonthMoneyDto;
import com.mars.tukuan.dto.ReportUserMonthTcDto;
import com.mars.tukuan.entity.CarState;

public interface CarStateService extends IService<CarState, Long> {

	public PageInfo<CarStateVo> list(Paginator paginator, CarStateVo entity) ;
	
	public PageInfo<CarStateVo> selectPageCarState(Paginator paginator, CarStateVo entity) ;
	
	public int compensate(CarState entity) ;
	
	public int follow(CarState entity) ;
	
	public int deleteByCheckId(Long carCheckId);
	
	/**
	 * 汇总用户每月录入的追讨赔偿金额（年，月），按人分组统计金额 
	 * @param entity
	 * @return
	 */
	public List<ReportUserMonthMoneyDto> reportUserMonthMoney(ReportUserMonthMoneyDto entity) ;
	
	/**
	 * 汇总用户每月录入的提成金额（年，月），按人分组统计金额 
	 * @param entity
	 * @return
	 */
	public List<ReportUserMonthTcDto> reportUserMonthTc(ReportUserMonthTcDto entity) ;
	
	/**
	 * 汇总车辆每月损伤数量
	 * @param entity
	 * @return
	 */
	public List<ReportCarInjureMonthTotalDto> reportCarInjureMonthTotal(ReportCarInjureMonthTotalDto entity) ;
	
	/**
	 * 汇总用户每月检查车辆数量
	 * @param entity
	 * @return
	 */
	public List<ReportUserMonthCheckDto> reportUserMonthCheck(ReportUserMonthCheckDto entity) ;
	
}
